#ifndef __LIB_AGORA_CLIENT_HOSTRIGHT_H__
#define __LIB_AGORA_CLIENT_HOSTRIGHT_H__

#include <vector>
#include "IHostRight.h"

namespace AgoraClient
{

class	HostRight : public IHostRight
{
public:
	HostRight(void);
	HostRight(const std::vector<bool>& right);
	~HostRight();
	void				SetHostRight(const bool canChangeLogin, const bool canChangePassword, const bool canChangeChannel, const bool canCreateChannel, const bool canDeleteChannel, const bool canMoveChannel, const bool canKickUser, const bool canBanUser, const bool canEditUser);
	const bool			GetCanChangeLogin(void) const;
	void				SetCanChangeLogin(const bool value);
	const bool			GetCanChangePassword(void) const;
	void				SetCanChangePassword(const bool value);
	//can modif host name, codec, bpassante, max user, reboot, etcetc
	const bool			GetCanChangeChannel(void) const;
	void				SetCanChangeChannel(const bool value);
	const bool			GetCanCreateChannel(void) const;
	void				SetCanCreateChannel(const bool value);
	const bool			GetCanDeleteChannel(void) const;
	void				SetCanDeleteChannel(const bool value);
	const bool			GetCanMoveChannel(void) const;
	void				SetCanMoveChannel(const bool value);
	const bool			GetCanKickUser(void) const;
	void				SetCanKickUser(const bool value);
	const bool			GetCanBanUser(void) const;
	void				SetCanBanUser(const bool value);
	const bool			GetCanEditUser(void) const;
	void				SetCanEditUser(const bool value);

private:
	std::vector<bool>	_right;
};

}

#endif